#pragma once

#include <d3dx9.h>

namespace Renderer
{
	class AllocateMeshHeirarchy : public ID3DXAllocateHierarchy
	{
	private:
	public:
		HRESULT _stdcall CreateFrame(THIS_ PCTSTR name, D3DXFRAME** newFrame);

		HRESULT _stdcall CreateMeshContainer(PCTSTR name, const D3DXMESHDATA * meshData, const D3DXMATERIAL * material,
			const D3DXEFFECTINSTANCE * effectInstances, DWORD numMaterials, const DWORD * adjacency, ID3DXSkinInfo * skinInfo,
			D3DXMESHCONTAINER ** newMeshContainer);

		HRESULT _stdcall DestroyFrame(THIS_ D3DXFRAME * frameToFree);
		HRESULT _stdcall DestroyMeshContainer(THIS_ D3DXMESHCONTAINER * meshContainerBase);
	};

}